package com.yinhe.music.yhmusic.dialog.collect;

import com.yinhe.music.type.person.BaseInfo;
import com.yinhe.music.yhmusic.model.SongMenuList;
import com.yinhe.music.yhmusic.network.response.Response;
import com.yinhe.music.yhmusic.personal.PersonContract;

import java.util.List;

/**
 * CollectDialog契约类
 *
 * @author 何晓华
 */
public interface ICollectDialogContract {
    interface ICollectDialogPresenter extends PersonContract.IPersonPresenter {

        /**
         * 获取歌单歌曲数
         *
         * @param songMenuLists 歌单列表
         */
        void setMenuSongNum(List<SongMenuList> songMenuLists);

        /**
         * 添加歌曲到歌单
         *
         * @param menuId     歌单id
         * @param songIdList 要添加的歌曲列表
         */
        void addMusic(int menuId, List<Integer> songIdList);
    }

    interface ICollectDialogView extends PersonContract.IPersonView {
        /**
         * 设置创建的歌单列表
         *
         * @param songMenuLists 创建的歌单列表
         */
        void setCreateListUI(List<SongMenuList> songMenuLists);

        /**
         * 更新添加歌曲成功UI
         *
         * @param baseInfo 收藏状态修改返回
         */
        void setAddMusicUI(Response<BaseInfo> baseInfo);
    }

}
